#include "UserTask.h"
#include "stdio.h"
#include "FreeRTOS.h"
#include "task.h"
#include "main.h"
#include "cmsis_os.h"
#include "queue.h"
#include "tim.h"
#include "mpu6050.h"

//extern osThreadId_t defaultTaskHandle;

//QueueHandle_t EncoderValue_Queue =NULL;



//static TaskHandle_t EncoderTask_Handle = NULL;
//static TaskHandle_t BalanceCtrlTaskHandle = NULL;


//static void EncoderTask(void* pvParameters);//编码器任务
//static void BalanceCtrlTask(void* pvParameters);//平衡控制任务




//struct EncoderValue
//{
//	int16_t LValue;
//	int16_t RValue;
//};

//static void EncoderTask(void* pvParameters)
//{
//	
//	BaseType_t xReturn = pdPASS;/* 定义一个创建信息返回值，默认为 pdPASS */
//	struct EncoderValue EncoderValue;
//	/* 用于保存上次时间。调用后系统自动更新 */ 
//	static portTickType PreviousWakeTime; 
//	/* 获取当前系统时间 */ 
//	PreviousWakeTime = xTaskGetTickCount();
//	
//		/* 创建 Test_Queue */ 
//	EncoderValue_Queue = xQueueCreate((UBaseType_t ) 4,(UBaseType_t ) 4);/* 消息的大小 */ 
//	if(NULL != EncoderValue_Queue) 
//		printf("创建 Test_Queue 消息队列成功!\r\n");
//	
//	for(;;)
//	{
//		EncoderValue.LValue=__HAL_TIM_GetCounter(&htim1);
//		EncoderValue.RValue=__HAL_TIM_GetCounter(&htim4);			
//		__HAL_TIM_SetCounter(&htim1,0);
//		__HAL_TIM_SetCounter(&htim4,0);
//		xReturn = xQueueSend( EncoderValue_Queue, &EncoderValue, 0 ); /* 等待时间 0 */
//		if (pdPASS == xReturn) 
//			printf("消息 send_data1 发送成功!\n\n");
//		//vTaskDelayUntil(&PreviousWakeTime,pdMS_TO_TICKS(10));
//		osDelay(10);
//	}
//}
//static void BalanceCtrlTask(void* pvParameters)
//{
//	BaseType_t xReturn = pdPASS;/* 定义一个创建信息返回值，默认为 pdPASS */
//	static portTickType PreviousWakeTime; 
//	PreviousWakeTime = xTaskGetTickCount();
//	for(;;)
//	{
//		//Read_DMP();
//		osDelay(10);
//		//vTaskDelayUntil(&PreviousWakeTime,pdMS_TO_TICKS(5));
//	}
//}




